home *** CD-ROM | disk | FTP | other *** search
/ Aminet 31 / Aminet 31 (1999)(Schatztruhe)[!][Jun 1999].iso / Aminet / dev / obero / OberonAModules.lha / XpkSubDefs.mod < prev   
Text File  |  1999-02-26  |  4KB  |  100 lines

  1. (*************************************************************************
  2.  
  3. :Program.    XpkSubDefs.mod
  4. :Contents.   structur definitions for XpkSub libraries
  5. :Author.     Hartmut Goebel
  6. :Copyright.  Copyright © 1991 by Hartmut Goebel
  7. :Copyright.  May be free dirstibuted with the Xpk-Package
  8. :Copyright.  permission is given to be inlcuded with AmigaOberon
  9. :Language.   Oberon
  10. :Translator. Amiga Oberon V2.14
  11. :History.    V0.9, 11 Jan 1992 Hartmut Goebel [hG]
  12. :History.    V1.1, 27 Jul 1992 [hG]
  13. :History.    V2.0  04 Aug 1992 [hG] adapted to Xpk 2.0
  14. :History     Converted to Oberon-A by Morten Bjergstrøm 16/8/98
  15. :Date.       04 Aug 1992 01:33:36
  16. :EMail.      mbjergstroem@hotmail.com
  17.  
  18. *************************************************************************)
  19. (*
  20.  * Remark
  21.  * Since the sub libraries need the definitions, but not the
  22.  * calls, I decided to split the two parts for reasons of efficiency
  23.  * [hG]
  24.  *)
  25.  
  26. <*MAIN-*>
  27. <*STANDARD-*>
  28. MODULE [2] XpkSubDefs;
  29.  
  30.  
  31. IMPORT
  32.   e := Exec,
  33.   x := XpkMaster;
  34.  
  35. (**************************************************************************
  36.  *
  37.  *                     The XpkInfo structure
  38.  *
  39.  *)
  40.  
  41. (* Sublibs return this structure to xpkmaster when asked nicely
  42.  * This is version 1 of XpkInfo.  It's not #define'd because we don't want
  43.  * it changing automatically with recompiles - you've got to actually update
  44.  * your code when it changes.
  45.  *)
  46. TYPE
  47.   XpkInfoPtr * = POINTER TO XpkInfo;
  48.   XpkInfo * = RECORD
  49.     xpkInfoVersion * : INTEGER       ; (* Version number of this structure   *)
  50.     libVersion    * : INTEGER        ; (* The version of this sublibrary     *)
  51.     masterVersion * : INTEGER        ; (* The required master lib version    *)
  52.     modesVersion  * : INTEGER;       ; (* Version number of mode descriptors *)
  53.     name        * : e.STRPTR         ; (* Brief name of the packer           *)
  54.     longName    * : e.STRPTR         ; (* Full name of the packer            *)
  55.     description * : e.STRPTR         ; (* Short packer desc., 70 char max    *)
  56.     id    * : LONGINT                ; (* ID the packer goes by (XPK format) *)
  57.     flags * : SET                    ; (* Defines see x.XpkPackerInfo.flags  *)
  58.     maxPkInChunk * : LONGINT         ; (* Max input chunk size for packing   *)
  59.     minPkInChunk * : LONGINT         ; (* Min input chunk size for packing   *)
  60.     defPkInChunk * : LONGINT         ; (* Default packing chunk size         *)
  61.     packMsg   * : e.STRPTR           ; (* Packing message, present tense     *)
  62.     unpackMsg * : e.STRPTR           ; (* Unpacking message, present tense   *)
  63.     packedMsg * : e.STRPTR           ; (* Packing message, past tense        *)
  64.     unpackedMsg * : e.STRPTR         ; (* Unpacking message, past tense      *)
  65.     defModes * : INTEGER             ; (* Default mode number                *)
  66.     pad      * : INTEGER             ; (* for future use                     *)
  67.     modeDesc * : x.XpkModePtr        ; (* List of individual descriptors     *)
  68.     reserved * : ARRAY 6 OF e.ADDRESS; (* Future expansion - set to zero     *)
  69.   END;
  70.  
  71.  
  72. (**************************************************************************
  73.  *
  74.  *                     The XpkSubParams structure
  75.  *
  76.  *)
  77. TYPE
  78.   XpkSubParamsPtr * = POINTER TO XpkSubParams;
  79.   XpkSubParams * = RECORD
  80.     inBuf  * : e.APTR            ; (* The input data               *)
  81.     inLen  * : LONGINT           ; (* The number of bytes to pack  *)
  82.     outBuf * : e.APTR            ; (* The output buffer            *)
  83.     outBufLen * : LONGINT        ; (* The length of the output buf *)
  84.     outLen * : LONGINT           ; (* Number of bytes written      *)
  85.     flags  * : SET               ; (* Flags for master/sub comm.   *)
  86.     number * : LONGINT           ; (* The number of this chunk     *)
  87.     mode   * : LONGINT           ; (* The packing mode to use      *)
  88.     password * : e.APTR          ; (* The password to use          *)
  89.     arg * : ARRAY 4 OF e.ADDRESS ; (* Reserved; don't use          *)
  90.     sub * : ARRAY 4 OF e.ADDRESS ; (* Sublib private data          *)
  91.   END;
  92.  
  93. CONST
  94.   (* defines for XpkSubParams.flags *)
  95.   stepDown    * = 1;    (* May reduce pack eff. to save mem   *)
  96.   prevChunk   * = 2;    (* Previous chunk available on unpack *)
  97.  
  98. END XpkSubDefs.
  99.  
  100.